import numpy as np
from numpy.random import randn

# #创建一维数组
# arr1 = np.array([1,2,3,4])
# print("一维数组：\n",arr1)
# print("一维数组的shape：",arr1.shape)
# print("一维数组的ndim：",arr1.ndim)
# print("一维数组的size：",arr1.size)
# print("一维数组的dtye：",arr1.dtype)
# #创建二维数组
# arr2 = np.array([[1,2,3,4]
#                ,[5,6,7,8]])
# print("二维数组：\n",arr2)
# print("二维数组的shape：",arr2.shape)
# print("二维数组的ndim：",arr2.ndim)
# print("二维数组的size：",arr2.size)
# print("二维数组的dtye：",arr2.dtype)

#参数1是起始数字，参数2是结束数字，[参数1,参数2)，参数3是步长
# arr = np.arange(1, 10, 2)
# print(arr)

#ones创建的数组元素都是1
#传递参数10表示创建一个长度为10的一维数组
# arr1 = np.ones(10)
# print(arr1)
# print("--------------")
# #传递参数元组(2,3)表示创建一个2行3列的二维数组
# arr2 = np.ones((2,3))
# print(arr2)

# x = np.array([[1,2,3,4],[5,6,7,8]])
# arr = np.ones_like(x)
# print(arr)

#传递参数元组(2,3)表示创建一个2行3列的二维数组
# x = np.full((2,3),66)
# print(x)
# print("----------------------")
# arr = np.full_like(x,13)
# print(arr)

# #创建一个三行两列的随机二维数组
# arr = randn(3,2)
# print(arr)

#将一个20个元素的一维数组转换为4行5列的二维数组
# arr = np.arange(20).reshape(4,5)
# print(arr)
# print("第1行第2列的数据是：",arr[0, 1])
# print("最后1行第3列的数据是：",arr[-1, 2])
# print("第2行的数据是：",arr[1])
# print("第1行到最后1行的数据是：",arr[:-1])
# print("前2行的前2列的数据是：",arr[:2,:2])
# print("第2列的数据是：",arr[:1])

# arr = np.arange(10)
# print("数组中第3、5、6个数据是：",arr[[2,4,5]])

# arr = np.arange(20).reshape(4,5)
# print(arr)
# print("数组第1行第3列数据和第2行第4列数据是：", arr[[0,1], [2,3]])

# #生成10个随机数组，数据范围[0,100)
# arr = np.random.randint(0,100,10)
# print(arr)
# #argsort会进行排序，返回排序元素的下标数组
# sort_index = arr.argsort()
# #取最大的3个数据
# print("最大的3个数据是：", arr[sort_index[-3:]])

# arr = np.random.randint(0,100,10)
# print(arr > 5)
# print("所有大于50的数据：", arr[arr>50])
# print("所有不大于50的数据：", arr[arr<=50])

arr = np.random.randint(0,100,10).reshape(2,5)
print(arr > 5)
print("所有大于50的数据：", arr[arr>50])
print("所有不大于50的数据：", arr[arr<=50])